//
//  ImageDownLoader.h
//  LessonUI17Day
//
//  Created by 左建军 on 15/7/1.
//  Copyright (c) 2015年 蓝鸥科技. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@protocol ImageDownFinishDelegate <NSObject>

//请求成功的回调方法； 将请求到的数据传给让我下载的对象
- (void)imageDownLoadSuccess:(NSData *)data;

//请求失败的回调方法；将错误信息发送给让我下载的对象
- (void)imageDownLoadError:(NSError *)error;

@end


//声明了一个下载成功的block类型
typedef void (^imageDownLoadSuccess) (NSData *Data);
//声明一个失败的block类型
typedef void (^imageDownLoadError) (NSError *Error);


@interface ImageDownLoader : NSObject


@property (nonatomic, copy) imageDownLoadSuccess successBlock;
@property (nonatomic, copy) imageDownLoadError errorBlock;

//声明一个block传值的请求方法
/*
    successBlock: 当请求成功时进行回调
    errorBlock:   当请求失败时进行回调
*/
- (void)requestImageUrl:(NSString *)imageUrl
           successBlock:(imageDownLoadSuccess)successBlock
             errorBlock:(imageDownLoadError)errorBlock;


//声明一个代理对象
@property (nonatomic, assign) id<ImageDownFinishDelegate> delegate;

/*功能： 请求数据的方法
  参数： imageUrl 请求数据的地址
        delegate 设置的代理对象
  返回值：无
*/
- (void)requestImageUrl:(NSString *)imageUrl andDelegate:(id<ImageDownFinishDelegate>)delegate;




@end
